1. Field of the Invention
This invention relates to communication networks, and more particularly to microcontrollers employed within network interface units of devices coupled to computer communication networks.
2. Description of the Relevant Art
A computer network is a communication network interconnecting two or more computer systems for the purpose of exchanging data or sharing resources such as input/output (I/O) devices. There are two basic types of computer networks: local area networks (LANs) and wide area networks (WANs). A LAN is an interconnection of computer systems within a limited geographical area. A LAN may encompass a portion of a building, an entire building, or a cluster of buildings. A LAN allows users within the same office or company to exchange data files or share resources such as printers. A WAN connects computer systems over a large area, such as an entire city, state, or country. WANs are typically implemented using existing public switched telephone networks (PSTNs), and are thus operated and maintained by telephone service providers such as AT&T, MCI, and Sprint. A WAN allows users at remote sites, such as retail outlets, branch offices, or even their own homes, to exchange information with other users at a central corporate office or data site. The Internet, a complex interconnection of WANs, allows users to access information provided by companies and other users located worldwide.
Several different types of computer systems exist today, each manipulating and storing data in a different way. The interconnection of such diverse computer systems presents a challenging task. Networking capability is provided by hardware and/or software which typically implements a standardized interface specifically designed for the exchange of information among heterogeneous computer systems. In an effort to allow different types of computer systems to communicate with one another, the international standards organization (ISO) developed an open systems interconnection (OSI) reference model. The OSI reference model defines various layers ranging from a lowermost physical layer (network cables and host adapter hardware) to an uppermost application layer (communication access software). Between the physical layer and application layer are various other layers used to implement standard procedures for transferring information between communication devices (i.e., communication protocols).
The OSI reference model provides for packet data transmission. In packet-switched networks, information is transferred between communication devices in small portions or “packets”. The packets are transmitted sequentially over a transmission medium (e.g., coaxial cable, twisted-pair cable, or fiber-optic cable) interconnecting the communication devices. Packet switching provides a way for all of the communication devices to share the full data transmission capability of the transmission medium without interference or interminable waiting periods for access. As a result, packet-switched communication networks are common today. The OSI model includes a data link layer above the physical layer, and a network layer above the data link layer. The data link layer and the network layer, in combination, define the basic protocol used in the communication network. The network layer divides a block of data to be transmitted into packets. The data link layer is responsible for establishing a link between a transmitting communication device and a receiving communication device, encapsulating the packet data into “frames” which also include error control and flow control signals, transmitting the frames upon the network transmission medium, and deactivating the link when the data transfer is complete. Error control allows for detection of transmission errors. Flow control allows for transmission of data at a rate at which the receiving communication device can handle the incoming data.
A network interface unit within a communication device performs the data link layer functions. In a transmit mode, the network interface unit of a transmitting communication device establishes a link with a network interface unit of a receiving communication device, encapsulates the network-layer packet data into frames, transmits the frames upon the network transmission medium, and deactivates the link when the data transfer is complete. In a receive mode, the network interface unit receives frames from the network transmission medium, checks the received frame data for error, and reassembles the packets from the frame data. All of the above actions are performed according to a selected communication protocol. Examples of common communication protocols currently being used in LANs and WANs include TCP/IP, Ethernet, Frame Relay, DDS, ATM, X.25 and Sonet.
A microcontroller is an integrated circuit which incorporates a microprocessor core along with one or more support circuits on the same monolithic semiconductor substrate (i.e., chip). The support circuits perform support functions such as communication functions and memory interface functions. Systems which employ microcontrollers are typically implemented using fewer separate semiconductor devices. Advantages of such systems include lower fabrication costs and higher reliabilities. Microcontrollers find applications in industrial and commercial products including control systems, computer terminals, hand-held communications devices (e.g., cellular telephones), photocopier machines, facsimile machines, and hard disk drives. Microcontrollers are also commonly used within network interface units.
Each communication protocol achieves data transmission in a different way, and network hardware and/or software designed to implement one communication protocol will typically not recognize data transmitted using another protocol. In addition, communication protocols are often modified to satisfy the communications needs and constraints of particular communication networks. Furthermore, new communication protocols are continuously being developed in an effort to increase data exchange rates and reliabilities. It would thus be desirable to have a communication protocol processor which may be quickly and easily configured to implement a particular communication protocol or variant thereof. Such a communication protocol processor could be advantageously incorporated within a microcontroller, and the microcontroller employed within a network interface unit.